home *** CD-ROM | disk | FTP | other *** search
/ Aminet 51 / Aminet 51 (2002)(GTI - Schatztruhe)[!][Oct 2002].iso / Aminet / util / boot / CardPatch.readme < prev    next >
Encoding:
Text File  |  2002-09-01  |  3.0 KB  |  82 lines

  1. Short:    Patches bugs in PCMCIA system V1.1
  2. Author:   artpo@wp.pl (Artur Pogoda)
  3. Uploader: artpo@wp.pl (Artur Pogoda)
  4. Version:  1.1
  5. Type:     util/boot
  6. Requires: Kickstart 37.300+, A600/A1200
  7. Replaces: util/boot/CardPatch
  8.  
  9.  
  10.  Installation:
  11.  
  12. Copy CardPatch to C: directory.
  13. Add "CardPatch" line to your Startup-Sequence or User-Startup.
  14.  
  15. If you use CardPatch you need not use the opencnet patch.
  16.  
  17.  
  18.  Description:
  19.  
  20. When a PC Card is plugged in the PCMCIA slot and cnet.device is not run
  21. then Amiga system slows. CardPatch patches this "slow bug" and other bugs
  22. in card.resource. The CardResetCard() function is patched and each "new"
  23. card is reseted after it is inserted in the PCMCIA slot.
  24.  
  25.  
  26.  Slow bug:
  27.  
  28. If any program is run in the address space of $xxA00000 through $xxA3FFFF
  29. (where xx is any address of a CPU address bus on any turbo board),
  30. then GAYLE asserts the _CC_REG signal into the PCMCIA slot (pin 61).
  31. GAYLE does it regardless of the A24-A31 lines of the address bus and the
  32. _AS signal of the CPU. If a 16-bit PC Card is plugged in the PCMCIA slot
  33. then this card, in reply to the _CC_REG signal, drives the WP/_IOIS16 line
  34. to a low level ("write protect" line - pin 33 of the PCMCIA slot) and
  35. GAYLE generates a level 2 interrupt.
  36.  
  37. CardPatch disables these interrupts but does not disable the write protect
  38. input (and GAYLE function). You can still read a level on this input by the
  39. ReadCardStatus() function but interrupts are not generated by any change of
  40. level on this input.
  41.  
  42. This interrupt can be used by some PCMCIA devices for an identification for
  43. 8/16-bit cards. Therefore CardPatch can cause a problem with old turbo boards
  44. (4MB Fast RAM in ZorroII space) and with some rare PCMCIA hardware.
  45.  
  46.  CardResetCard():
  47.  
  48. This function is patched by CardPatch but it will work (and will return TRUE)
  49. only if it is called from a task and not from a Forbid()/Permit() or
  50. Disable()/Enable() program space. If any condition described above is broken
  51. this function will return FALSE and the reset operation on a PC Card will not
  52. be done.
  53.  
  54.  CardPatch task:
  55.  
  56. This task is added to Amiga system and it will reset each PC Card after it is
  57. inserted in the PCMCIA slot.
  58.  
  59.  Interrupt servers:
  60.  
  61. Both card.resource interrupt servers are overwritten and the priority numbers
  62. of them are changed. The new interrupt server level 2 has priority number 125
  63. and the new interrupt server level 6 has priority number -120. The PCMCIA slot
  64. is not blocked now after a PC Card is removed from it.
  65.  
  66.  Other changes:
  67.  
  68. A bug in ReleaseCard() has been patched. This function sets bit 7 in the
  69. cah_CardFlags byte of the CardHandle structure and does not cleared it later
  70. (patched). This is important when previously released the CardHandle structure
  71. is used again by the OwnCard() function with the DELAYOWNERSHIP flag.
  72. A little bug in CardForceChange() has been patched, too.
  73.  
  74.  
  75.  History:
  76.  
  77. V1.0 - First Aminet release.
  78.  
  79. V1.1 - Short: Patched bugs in CardPatch V1.0   ...and nothing more ;)
  80.  
  81.        Thanks to Luca "Hexaae" Longone for your constructive bug report.
  82.